<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>文章列表</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css" />
    <link rel="stylesheet" href="css/reset.css" />
    <link rel="stylesheet" href="css/iconfont.css" />
    <link rel="stylesheet" href="css/main.css" />
    <!-- jq -->
    <script src="./libs/jquery-1.12.4.min.js"></script>
    <!-- 模板引擎 -->
    <script src="./libs/template-web.js"></script>

    <!-- 4.引入日期插件 -->
    <script src="./libs/jedate/js/jedate.js"></script>
    <link rel="stylesheet" href="./libs/jedate/css/jeDate-test.css" />
    <link rel="stylesheet" href="./libs/jedate/css/jedate.css" />

    <!-- 5. 引入富文本插件 -->
    <script src="./libs/wangEditor/wangEditor.min.js"></script>
  </head>

  <body>
    <div class="container-fluid">
      <div class="common_title">
        文章编辑
      </div>
      <div class="container-fluid common_con">
        <form class="form-horizontal article_form" id="form">
          <div class="form-group">
            <label for="inputTitle" class="col-sm-2 control-label"
              >文章标题：</label
            >
            <div class="col-sm-10">
              <input
                type="text"
                name="title"
                class="form-control title"
                id="inputTitle"
                value="文章标题文字"
              />
            </div>
          </div>
          <div class="form-group">
            <label for="inputCover" class="col-sm-2 control-label"
              >文章封面：</label
            >
            <div class="col-sm-10">
              <img src="images/pic06.jpg" class="article_cover" />
              <input name="cover" type="file" id="inputCover" />
            </div>
          </div>
          <div class="form-group">
            <label for="inputCategory" class="col-sm-2 control-label"
              >文章类别：</label
            >
            <div class="col-sm-4">
              <select class="form-control category" name="categoryId">
                <option>类别一</option>
                <option>类别二</option>
                <option>类别三</option>
                <option selected>类别四</option>
                <option>类别五</option>
              </select>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-2 control-label">发布时间：</label>
            <div class="col-sm-4">
              <!-- 日期插件的结构 -->
              <div class="jeinpbox">
                <input
                  type="text"
                  class="jeinput"
                  id="testico"
                  name="date"
                  placeholder="YYYY-MM-DD"
                />
                <div class="icons jebtns"></div>
              </div>
            </div>
          </div>
          <div class="form-group">
            <label for="inputEmail3" class="col-sm-2 control-label"
              >文章内容：</label
            >
            <div class="col-sm-10">
              <!-- 文本插件的结构 -->
              <div id="edit">
                <p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p>
              </div>
            </div>
          </div>
          <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <button type="submit" class="btn btn-success btn-edit">
                修改
              </button>
              <button type="submit" class="btn btn-default btn-draft">
                存为草稿
              </button>
            </div>
          </div>
        </form>
      </div>
    </div>
  </body>
</html>

<!-- 3.2 模板引擎结构 -->
<script type="text/html" id="tpl-category">
  {{each}}
  <option value={{$value.id}}>{{$value.name}}</option>
  {{/each}}
</script>

<!-- 1. 导入网址js -->
<script src="./libs/https.js"></script>
<script>
  $(function () {
    // 2. 监控图片上传功能
    $('#inputCover').on('change', function () {
      let picFile = this.files[0]
      let picUrl = URL.createObjectURL(picFile)
      $('.article_cover').attr('src', picUrl)
    })

    // 3. 下拉框类别渲染
    $.ajax({
      type: 'get',
      url: BigNew.category_list,
      success: function (backData) {
        // console.log(backData)
        // 3.1 判断是否成功
        if (backData.code == 200) {
          let data = backData.data
          let htmlStr = template('tpl-category', data)
          $('.category').html(htmlStr)
        }
      }
    })

    // 4. 调用日期插件
    $('.jebtns').on('click', function () {
      jeDate('#testico', {
        trigger: false,
        format: 'YYYY/MM/DD',
        theme: { bgcolor: '#2486b9', pnColor: '#ed2f6a' },
        zIndex: 20000
      })
    })

    // 5.1 调用wangEditor  插件
    const E = window.wangEditor
    const editor = new E('#edit')
    editor.create()

    // 6. 获取当前文章的id  需要在列表页面a标签地址存储id
    // 6.1 获取地址上存储的id

    // console.log(window.location.search.split('=')[1])
    let id = window.location.search.split('=')[1]

    // 6.2 发送ajax请求 获取信息  渲染页面
    $.ajax({
      type: 'get',
      url: BigNew.article_search,
      data: {
        id: id
      },
      success: function (backData) {
        console.log(backData)

        // 6.3 判断是否获取成功
        if (backData.code == 200) {
          let bada = backData.data
          // 6.4 渲染页面
          $('#inputTitle').val(bada.title)
          // 6.5 渲染时间
          $('#testico').val(bada.date)
          $('.article_cover').attr('src', bada.cover)
          $('.category').val(bada.categoryId)
          $('#edit').val(editor.txt.text(bada.content))
        }
      }
    })

    // 7. 点击  修改  存为草稿  按钮  发送Ajax请求
    $('.btn-edit, .btn-draft').on('click', function (e) {
      e.preventDefault()
      // 7.1 判断为修改还是 存为草稿
      let state = ''
      if (
        $(this)
          .text()
          .trim() == '修改'
      ) {
        state = '已发布'
      } else {
        state = '草稿'
        // console.log($(this).text())
      }
      // console.log(state)

      // 7.2 获取表单域内所有内容
      let fd = new FormData(document.querySelector('form'))

      // 7.3 把表单上获取不到的数据添加进去
      fd.append('state', state)
      fd.append('content', editor.txt.text())
      fd.append('id', id)

      console.log(fd.get('title'))
      console.log(fd.get('cover'))
      console.log(fd.get('categoryId'))
      console.log(fd.get('date'))
      console.log(fd.get('content'))
      console.log(fd.get('state'))
      console.log(fd.get('id'))

      // 7.4 发送ajax请求
      $.ajax({
        type: 'post',
        url: BigNew.article_edit,
        data: fd,
        contentType: false,
        processData: false,
        success: function (backData) {
          console.log(backData)

          // 7.5 判断是否成功获取到
          if (backData.code == 200) {
            alert(backData.msg)
            window.location = './article_list.html'
          }
        }
      })
    })
  })
</script>
